﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace LINQToolKit.Mapping
{
    /// <summary>
    /// Represents the meta information for the xml entity
    /// </summary>
    public sealed class MetaEntity
    {
        public IEnumerable<MetaProperty> Properties { get; set; }
        public IEnumerable<MetaAssociation> Associations { get; set; }
        public Type Type{ get; set; }
        public Type Processor { get; set; }
        public string PrimaryKey { get; set; }
        public bool IsUpdateable { get; set; }
        public bool IsInsertable { get; set; }
        public bool IsDeleteable { get; set; }
        public string SourceUri { get; set; }
        public string EntryUri { get; set; }
        public string InsertUri { get; set; }
        public string UpdateUri { get; set; }
        public string DeleteUri { get; set; }

        public IEnumerable<MetaNamespace> Namespaces { get; set; }

        public IMappingSource MappingSource { get; set; }
    }
}
